Session Initiation Protocol (“SIP”) is an open signaling protocol for establishing many kinds of real-time communication sessions. Examples of the types of communication sessions that may be established using SIP include voice, video, and/or instant messaging. These communication sessions may be carried out on any type of communication device such as a personal computer, laptop computer, Personal Digital Assistant, telephone, mobile phone, cellular phone, or the like. One key feature of SIP is its ability to use an end-user's Address of Record (AoR) as a single unifying public address for all communications. Thus, in a world of SIP-enhanced communications, a user's AOR becomes their single address that links the user to all of the communication devices associated with the user. Using this AOR, a contactor can reach any one of the user's communication devices, also referred to as User Agents (“UAs”) without having to know each of the unique device addresses or phone numbers.
Many SIP communications are enhanced by virtue of the fact that an application is inserted or included into the communication session during the establishment of that session. The incorporation of applications into a communication session is typically referred to as application sequencing because the applications are sequentially invoked during the establishment of the communication session. In some instances the applications are owned and operated by an enterprise that is administering the SIP network. In some instances, the applications may be provided by third-party vendors. In either event, the traditional way in which applications were included in the communication session was during the communication session establishment stage so that these applications can insert themselves into the signaling and media path of the communication session.
Exemplary types of applications that may be utilized for a communication session include, without limitation, call recording applications, communication log services, conferencing applications, security applications, encryption applications, collaboration applications, whiteboard applications, mobility applications, presence applications, media applications, messaging applications, bridging applications, and any other type of application that can supplement or enhance communications.
Parallel forking is available as part of contact resolution to enable a user to alert one or more communication devices. Current parallel forking solutions allow a user to define only communication devices that should be alerted. In other words, most users can currently set a preference to have his or her office phone ring and his or her cell phone ring when a call is directed to them. Unfortunately, this is where most call resolution solutions end.